Field of the Invention
Embodiments of the present invention relate generally to digital media and, more specifically, to a digital content distribution system for streaming a digital content file, in parallel, using multiple connections to a content distribution network.
Description of the Related Art
Digital content distribution systems typically include a content server, a content player, and a communications network connecting the content server to the content player. The content player may be configured to playback, e.g., movies, televisions shows, sporting events, music productions, etc, as stored in a digital content file.
In practical scenarios, a group of content servers may be configured within a communications network to form a content distribution network (CDN). The content distribution network may also include a directory server configured to provide a list of titles of available from the CDN and associate each title with a reference mechanism, such as a uniform resource locator (URL), used to access the title. When a user interacts with the content player to initiate playback of a specific title, the content player may post a request to the directory server for a reference to content servers hosting the file. Note, the files are often hosted by multiple content servers. The content player then downloads and plays the title from the CDN using the reference provided by content directory server.
The process of playing the digital content file includes decoding the data to generate audio and video signals sent to audio speakers and a display screen. Playback typically occurs using a technique known as “streaming,” where the content is transmitted over the network to the content player, which decodes and plays the media file while data is being received. To account for variable latency and bandwidth within the communications network, a content buffer queues some of the audio/video data ahead of the content data actually being played. During moments of network congestion, which leads to lower available bandwidth, less audio/video data is added to the buffer, which drains down as content data is being de-queued during streaming playback. However, during moments of high network bandwidth, the buffer is replenished, adding data to the buffer. In practical systems, the content buffer may queue content data corresponding to a time span ranging from seconds to more than a minute.
Streaming media files over the Internet has become increasingly popular as the availability of broadband data communication services has improved. As is known, the playback quality of a program depends significantly on the bit-rate at which the video is encoded. In digital audio and video applications, bit rate refers to the number of data bits used per unit of playback time to represent audio and video. In general, the higher the bit-rate the higher the visual and auditory quality of a program and the longer it takes to download a portion of the program over a data network at a fixed bandwidth or transmission rate. The better the throughput that can be achieved using the network bandwidth available to a content player, the higher a bit-rate encodings that may be used for playback. Further, the better the throughput of a connection, the less likely it is that a buffer under-run will occur (i.e., the less likely that streaming playback will be interrupted).